import type { PropType, CSSProperties } from 'vue';
import { ButtonProps } from '@arco-design/web-vue/es/button';
export const basicProps = {
  //组件默认参数
  visible: { type: Boolean, default: false },
  defaultVisible: { type: Boolean, default: false },
  mask: { type: Boolean, default: true },
  title: { type: String },
  alignCenter: { type: Boolean, default: false },
  unmountOnClose: { type: Boolean, default: true },
  maskClosable: { type: Boolean, default: true },
  hideCancel: { type: Boolean, default: false },
  simple: { type: Boolean },
  closable: { type: Boolean, default: true },
  okText: { type: String, default: '确认' },
  cancelText: { type: String, default: '取消' },
  okLoading: { type: Boolean, default: false },
  okButtonProps: { type: Object as PropType<ButtonProps> },
  cancelButtonProps: { type: Object as PropType<ButtonProps> },
  footer: { type: Boolean, default: true },
  draggable: { type: Boolean, default: true },
  renderToBody: { type: Boolean, default: true },
  popupContainer: { type: [String, HTMLElement, null, undefined], default: 'body' },
  maskStyle: Object as PropType<CSSProperties>,
  modalClass: { type: [String, <any>[]] },
  modalStyle: Object as PropType<CSSProperties>,
  width: { type: [String, Number] },
  top: { type: [String, Number] },

  //自定义扩展参数
  okType: { type: String, default: 'primary' },
  //显示取消按钮
  showCancelBtn: { type: Boolean, default: true },
  //显示提交按钮
  showOkBtn: { type: Boolean, default: true },
  //是否开启拖拽 废弃
  isDraggable: {
    type: Boolean,
    default: true,
  },
  //是否可以进行全屏
  canFullscreen: {
    type: Boolean,
    default: true,
  },
};
